Hackaos (Normal User)
Rookie
Messaggi: 24
Iscritto: 19/06/2011
|
Buongiorno,
studiando le guide sui sockets di questo sito, girovagando un po su google e leggendo le varie domande degli utenti, ho capito come funzionano questi sockets.
Riesco senza problemi ad inviare file in locale, ma sul remoto ho qualche problema...
per inviare uso questo codice ( ricavato dalla guida sui sockets):
Codice sorgente - presumibilmente VB.NET |
Dim Reader As New IO.FileStream(filename, IO.FileMode.Open) Dim Size As Int64 = FileLen(filename) Dim Bytes(4095) As Byte If Size > 4096 Then For Block As Int64 = 0 To Size Step 4096 If flusso.CanWrite Then If Size - Block >= 4096 Then Reader.Read(Bytes, 0, 4096) flusso.Write(Bytes, 0, 4096) Else Reader.Read(Bytes, 0, Size - Block) flusso.Write(Bytes, 0, Size - Block) End If End if Next Else Reader.Read(Bytes, 0, Size) flusso.Write(Bytes, 0, Size) End If Application.DoEvents() Reader.Close() send("END") End Sub
|
Ricezione file:
Codice sorgente - presumibilmente VB.NET |
prgProgress.Maximum = 100 prgProgress.Minimum = 0 Dim Stream As New IO.FileStream(FileName, IO.FileMode.Create) aggiornaStato("File in arrivo...") Dim Index As Int64 = 0 Application.DoEvents() Do If Client.Available > 0 Then tempo.Start() Dim Bytes(Client.Available - 1) As Byte Dim text As String = ASCII.GetString(Bytes) If text.Contains("END") Or Index >= FileSize Then Exit Do End If flusso(TextBox2.Text).Read(Bytes, 0, Bytes.Length) Stream.Write(Bytes, 0, Bytes.Length) Index += 4096 prgProgress.Value = (Index * 100 / FileSize) End If Loop aggiornaStato("File ricevuto...") Stream.Close() Application.doevents()
|
Ripeto che in locale va tutto bene, i file sono sani e funzionanti; ma il problema si pone in remoto... i file inviati risultano danneggiati parzialmente... per esempio le immagini sono visibili parzialmente e infatti confrontando i byte delll'immagine inviata con quelli della ricevuta si nota subito come molti byte sono sostituiti da spazi vuoti!! come se parte dei byte si perdessero strada facendo...
Non capisco il perche di tutto ciò, quindi mi rivolgo a voi Attendo con anzia una vostra risposta
Saluti e una buona pasqua,
Hackaos Ultima modifica effettuata da Hackaos il 02/04/2013 alle 15:23 |